<!-- 工作页签 -->

<template>
  <div>
    <TabItem
      v-for="item in dict"
      :key="item[0]"
      :code="item[0]"
      :name="item[1]"
      :total="item[2]"
      :active="item[0] === tab"
      @click="changeTab"
    />
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import props from './props'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'WorkTab',

  /**
   * 组件导入 (Abc.vue + Abc/index.vue)
   */
  ...CORE.components(require.context('./', true, /vue$/)),

  /**
   * 模型绑定
   */
  model: {
    prop: 'tab', // 与 props 里的名称一致
    event: 'update', // 回传调用的事件名称
  },

  /**
   * 属性注册 (抽取以便查阅)
   */
  props,

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 切换页签
     */
    changeTab(tab) {
      this.$emit('update', tab)
    },
  },
}
</script>
